package com.cskaoyan.javase.oop1._16access._1clazz;

/**
 * class的访问级别,只有两种:
 *      1.public修饰,表示该类在不同包下都能够任意访问
 *      2.默认权限,不写任何关键字,表示在同包下任意访问.
 *
 * 思考:
 *      1.对于一个类来说,如果外部没有它的访问权限
 *          那么类中的成员以及构造器可以被访问吗?
 *
 *          是不可以的
 *          类的访问权限肯定要大于类中成员
 *          要想类的成员必然要先能访问类
 *
 *       2.为什么一个类的访问级别只有两种?
 *          因为单独定义的一个class
 *          它没有对谁私有,受谁保护的概念
 *          所以它没有private和protected修饰
 *
 *          但实际上java中的类是可以私有和受保护的
 *          只需要把类定义在另一个类的内部,形成内部类即可
 *          内部类有四种访问级别
 *
 *        3.后面学习的接口,注解,枚举等Java引用数据类型
 *          它们的访问权限和class一样.
 *
 *
 * @since 10:16
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class MyClazz {
    public static void main(String[] args) {
        MyClazz2 mc = new MyClazz2();
    }

    protected class A{

    }
}

// 默认权限修饰的class在不同包下不能够被访问
class MyClazz2 {
    public int num = 10;
}